java:JDialog窗体(对话框,弹出的窗口)

您所在的位置:网站首页 dialog based是什么意思 java:JDialog窗体(对话框,弹出的窗口)

java:JDialog窗体(对话框,弹出的窗口)

2023-09-10 06:48| 来源: 网络整理| 查看: 265

JDialog窗体 一、JDialog窗体二、重点内容1.super(超级)2.按钮Btton 三、源码四、源码运行效果五、补充说明六、与小恐龙挑战的关系六、定位日期

一、JDialog窗体

JDialog窗体常用功能是从一个窗体中弹出另一个窗体。

二、重点内容 1.super(超级)

主要用于打开了子窗体时,阻塞对父窗体的修改。也就是说打开了窗体便不能对父窗体有任何动作,关闭子窗体才可以对父窗体开始操作。 ruper(A,B,C); A-----父窗体对象 B-----对话框标题 C-----是否阻塞父窗体

2.按钮Btton

JButton btn=new JButton("弹出对话框"); 表示创建按钮,然后按钮标签为“弹出对话框”。

c.setLayout(new FlowLayout()); 设置布局,使用流布局。不使用流布局(也就是当没有使用这句代码时),按钮会占满整个窗体,而不是像下面的淡蓝色长方形了。 在这里插入图片描述

三、源码 import java.awt.Container;// 容器 import java.awt.FlowLayout;// 布局 import java.awt.event.ActionEvent;// 动作事件 import java.awt.event.ActionListener; // 动作监听 import javax.swing.*;// JDialog窗体是Swing组件中的对话框 class Demo extends JDialog{ // Demo继承JDialog类 public Demo(JFrame frame){ /* * 第一个参数:父窗体对象 * 第二个参数:对话框标题 * 第三个参数:是否阻塞父窗体 */ super(frame,"对话框标题",true); Container c=getContentPane();// 获取窗体容器,Container(容器),content(内容),pane(窗格) c.add(new JLabel("这是一个对话框"));// 设置一个标签,label(标签) //1 setVisible(true);// 设置窗体可见,visible(可见物),放这最后对话框缩起来 setBounds(400,300,100,100);// 设置窗体坐标,x、y、长、宽,bounds(界限) } public static void main(String[] args){ JFrame f=new JFrame("父窗体"); f.setBounds(300,200,300,300); Container c=f.getContentPane(); JButton btn=new JButton("弹出对话框"); c.setLayout(new FlowLayout());//设置布局,使用流布局 c.add(btn);// 容器c里添加按钮 f.setVisible(true);// 窗体是否可见 f.setDefaultCloseOperation(EXIT_ON_CLOSE);// 关闭规则 //添加动作监听 btn.addActionListener(new ActionListener(){ // Action(行动) public void actionPerformed(ActionEvent e){// performed(执行),event(事件) //1 new Demo(f);// 传入f // 设置Demo类d,对d进行操作指令 Demo d=new Demo(f); d.setVisible(true);// 设置窗体可视化 } }); } } 四、源码运行效果 源码刚开始运行时,没有任何动作 在这里插入图片描述点击按钮后 在这里插入图片描述 五、补充说明 btn.addActionListener(new ActionListener(){ // Action(行动) public void actionPerformed(ActionEvent e){// performed(执行),event(事件) //1 new Demo(f);// 传入f // 设置Demo类d,对d进行操作指令 Demo d=new Demo(f); d.setVisible(true);// 设置窗体可视化 } });

一开始在上面这段点击“按钮”的代码时,javac后会出现“找不到符号”的错误,并且代码没有问题。这时程序前用的是import java.awt.*。 我解决的方法是取消import java.awt.*并把用到的awt类全打进去,如下:

import java.awt.Container;// 容器 import java.awt.FlowLayout;// 布局 import java.awt.event.ActionEvent;// 动作事件 import java.awt.event.ActionListener; // 动作监听 六、与小恐龙挑战的关系

小恐龙挑战中用到了swing,程序窗口的使用,而我这一块的知识不稳固,最近一段时间会专门学习swing的一些基本用法。学完这一部分,再根据挑战的内容,选择其他还未懂的内容进行学习。

六、定位日期

2020.7.15;22:50



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3